Clara: Partially Evaluating Runtime Monitors at Compile Time - Tutorial Supplement
نویسندگان
چکیده
Clara is a novel static-analysis framework for partially evaluating finite-state runtime monitors at compile time. Clara uses static typestate analyses to automatically convert any AspectJ monitoring aspect into a residual runtime monitor that only monitors events triggered by program locations that the analyses failed to prove safe. If the static analysis succeeds on all locations, this gives strong static guarantees. If not, the efficient residual runtime monitor is guaranteed to capture property violations at runtime. Researchers can use Clara with most runtime-monitoring tools that implement monitors as AspectJ aspects. In this tutorial supplement, we provide references to related reading material that will allow the reader to obtain in-depth knowledge about the context in which Clara can be applied and about the techniques that underlie the Clara framework.
منابع مشابه
Clara: A Framework for Partially Evaluating Finite-State Runtime Monitors Ahead of Time
Researchers have developed a number of runtime verification tools that generate runtime monitors in the form of AspectJ aspects. In this work, we present Clara, a novel framework to statically optimize such monitoring aspects with respect to a given program under test. Clara uses a sequence of increasingly precise static analyses to automatically convert a monitoring aspect into a residual runt...
متن کاملEfficient and Precise Typestate Analysis by Determining Continuation-Equivalent States
Typestate analysis determines whether a program violates a set of finite-state properties. Because the typestate-analysis problem is statically undecidable, researchers have proposed a hybrid approach that uses residual monitors to signal property violations at runtime. We present an efficient novel static typestate analysis that is flow-sensitive, partially context-sensitive, and that generate...
متن کاملBypassing of Channels in Eden
We describe automatic bypassing, an optimization of Eden’s implementation to reduce the number of messages and/or threads at runtime. Eden [BLOP97] extends the lazy functional language Haskell with a set of coordination features, aimed to express parallel algorithms. These include process abstractions (or process schemes) and process instantiations (or applications of a process scheme to actual...
متن کاملMOPBox: A Library Approach to Runtime Verification
In this work we propose MOPBox, a library-based approach to runtime verification. MOPBox is a Java library for defining and evaluating parametric runtime monitors. A user can define monitors through a simple set of API calls. Once a monitor is defined, it is ready to accept events. Events can originate from AspectJ aspects or from other sources, and they can be parametric, i.e., can contain var...
متن کاملThe abc Group Making Trace Monitors Feasible
A trace monitor observes an execution trace at runtime; when it recognises a specified sequence of events, the monitor runs extra code. In the aspect-oriented programming community, the idea originated as a generalisation of the advice-trigger mechanism: instead of matching on single events (joinpoints), one matches on a sequence of events. The runtime verification community has been investigat...
متن کامل